#ifndef FILTER_DATA_H
#define FILTER_DATA_H

#include <string>
#include <vector>
#include <unordered_map>
#include <set>
using namespace std;

// this class takes in sampled graph
// extract tweets which is related with the sampled graph
class FilterData{
public:
	// if append is true, then output out_data_dir
	FilterData(string in_data_file,string stop_word_file, string in_graph_dir,string out_data_dir, bool append);

private:	
	// extract and output to user_names_map
	void ExtractUserNameMap(string in_graph_dir,unordered_map<string,int>& user_names_map);

	void ExtractStopWord(string in_stop_word_file, set<string>& stop_word_set);

	void FilterDataAndOutput(string in_data_file,set<string>& stop_word_set, unordered_map<string,int>& user_names_map, string out_data_dir, bool append);


};

#endif